Crate roadmap

source ·
Expand description

Model project roadmaps and step dependencies

This crate models a roadmap as steps, which may depend on each other, and a directed acyclic graph (DAG) of said steps, which leads to the end goal. There is no support for due dates, estimates, or other such project management features. These roadmaps only care about what steps need to be take, in what order, to reach the goal.

Example

let mut r = roadmap::from_yaml("
endgoal:
  label: The end goal
  depends:
  - first
first:
  label: The first step
").unwrap();

let n: Vec<&str> = r.step_names().collect();
assert_eq!(n.len(), 2);
assert!(n.contains(&"first"));
assert!(n.contains(&"endgoal"));

r.set_missing_statuses();
println!("{}", r.format_as_dot(30).unwrap());

Structs

  • Represent a full project roadmap.
  • A roadmap step.

Enums

  • Errors that can be returned for roadmaps.
  • Represent the status of a step in a roadmap.

Functions

  • Create a new roadmap from a textual YAML representation.

Type Definitions